package convertedio;

import java.io.*;
import java.nio.charset.Charset;

public class ConvertedDemo1 {
    public static void main(String[] args) throws IOException {
        // method1();
        // method2();

        // 在JDK11之后,字特流新推出了一个构造,也可以指定编码表
        FileReader fr = new FileReader("F:\\11\\a.txt", Charset.forName("gbk"));
        int ch;
        while ((ch = fr.read()) != -1) {
            System.out.print((char) ch);
        }
        fr.close();
    }

    private static void method2() throws IOException {
        // 解决乱码的问题：指定与文件一样的码表去读取文件
        // 输入流
        InputStreamReader isr = new InputStreamReader(new FileInputStream("F:\\11\\a.txt"), "gbk");
        int ch;
        while ((ch = isr.read()) != -1) {
            System.out.print((char) ch);
        }
        isr.close();

        // 输出流
        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("F:\\11\\b.txt"), "UTF-8");
        osw.write("我爱学习！");
        osw.close();
    }

    // 文件的保存格式与编辑器使用的编码格式不一致会导致乱码
    private static void method1() throws IOException {
        FileReader fr = new FileReader("F:\\111\\h.txt");
        int ch;
        while ((ch = fr.read()) != -1) {
            System.out.print((char) ch);
        }
    }
}
